package com.itheima.redbaby.engine;

import java.util.Map;

import android.text.TextUtils;

import com.alibaba.fastjson.JSONObject;
import com.itheima.redbaby.net.HttpUtil;

public abstract class BaseEngine {
	public static final int TYPE_GET = 1;
	public static final int TYPE_POST = 2;
	
	/**
	 * 根据指定的url，和请求参数访问网络获取JSONObject.
	 * @param type 请求类型：BaseEngine.TYPE_GET为get请求，BaseEngine.TYPE_POST为POST请求
	 * @param url 要访问的url（没有请求参数的url）
	 * @param map 请求参数的map集合
	 * @return JSONObject 
	 */
	public JSONObject getJson(int type, String url, Map<String, Object> map){
		return this.getJson(type, url, map, null);
	}
	
	/**
	 * 
	 * 根据指定的url，和请求参数访问网络获取JSONObject.同时在请求头里封装指定的userid
	 * @param type 请求类型：BaseEngine.TYPE_GET为get请求，BaseEngine.TYPE_POST为POST请求
	 * @param url 要访问的url（没有请求参数的url）
	 * @param map 请求参数的map集合
	 * @param userid 要封装在请求头中的userid
	 * @return JSONObject 
	 */
	public JSONObject getJson(int type, String url, Map<String, Object> map,
			String userid){
		
		if (type == TYPE_GET) {
			HttpUtil hu = new HttpUtil();
			String getJson = hu.sendGet(url, map,userid);
			if (!TextUtils.isEmpty(getJson)) {
				return JSONObject.parseObject(getJson);
			}
		} else if (type == TYPE_POST) {
			HttpUtil hu = new HttpUtil();
			String getJson = hu.sendPost(url, map,userid);
			if (!TextUtils.isEmpty(getJson)) {
				return JSONObject.parseObject(getJson);
			}
		}
		return null;
	}

}
